package com.csun.cmny.provider.dao;

import com.csun.cmny.provider.model.domain.DmcCsunBodySensorLocation;
import com.csun.cmny.provider.model.dto.bodysensor.CsunBodySensorPageQuery;
import com.csun.cmny.provider.model.dto.propertyManagement.SelectDeviceDataDto;
import com.csun.cmny.provider.model.vo.BodySensorReqVo;
import com.csun.cmny.provider.model.vo.csunbody.DmcCsunBodySensorVo;
import com.csun.cmny.provider.model.vo.life.DmcDeviceByRoom;
import com.csun.cmny.provider.model.vo.newBody.CsunNewBodyVo;
import com.csun.cmny.provider.model.vo.propertyManagement.PropertyDataVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

public interface DmcCsunBodySensorLocationMapper extends Mapper<DmcCsunBodySensorLocation> {

    /**
     * query csun body sensor list with page
     *
     * @param csunBodySensorPageQuery   csun body sensor page query
     *
     * @return  the list.
     */
    List<DmcCsunBodySensorVo> queryGroupBodySensorListWithPage(CsunBodySensorPageQuery csunBodySensorPageQuery);

    /**
     * @description: TODO
     * @param: oldmanId 老人ID
     * @return:
     * @throws
     * @author huangxm
     * @date 2019/3/15 13:39
     */
    Map<String,Object> getRecentData(@Param("oldmanId")Integer oldmanId);

    /**
     * query body sensor location by room id list
     *
     * @param roomIdList room id list
     *
     * @return the list.
     */
    List<BodySensorReqVo> queryBodySensorLocationByRoomIds(@Param("roomIdList") List<Integer> roomIdList);

    /**
     * 根据设备号、设备类型查询人感
     * @date 2020/1/14 14:29
     * @param csunBodySensorPageQuery
     * @return com.csun.cmny.provider.dao.DmcCsunBodySensorLocationMapper
     */
    List<DmcCsunBodySensorVo> getCsunBodySensorByDeviceNo(CsunBodySensorPageQuery csunBodySensorPageQuery);

    /**
     *
     * @param alertId
     * @return
     */
    DmcDeviceByRoom selectRoomIdByDeviceId(Long alertId);

    List<PropertyDataVo> selectDeviceData(SelectDeviceDataDto selectDeviceDataDto);
}